@echo off
echo ========================================
echo Workflow管理系统演示
echo ========================================
echo.
echo 需求验证：
echo 1. Java + Langchain4j + Spring AI技术栈
echo 2. DAG图结构和逻辑表达式（AND、OR、NOT）
echo 3. Agent1 AND Agent2完成后启动Agent3
echo 4. 每个Agent有Input/Output Function
echo 5. 大模型调用和Tools Use
echo 6. 上下文数据传递
echo.
echo ========================================
echo 开始演示...
echo ========================================

REM 创建输出目录
if not exist "target\classes" mkdir target\classes

echo.
echo [步骤1] 编译核心类...
javac -d target\classes -encoding UTF-8 src\main\java\com\sjw\workflow\core\*.java
if %errorlevel% neq 0 (
    echo 编译失败！
    pause
    exit /b 1
)

echo [步骤2] 编译DAG类...
javac -d target\classes -cp target\classes -encoding UTF-8 src\main\java\com\sjw\workflow\dag\*.java
if %errorlevel% neq 0 (
    echo 编译失败！
    pause
    exit /b 1
)

echo [步骤3] 编译Agent类...
javac -d target\classes -cp target\classes -encoding UTF-8 src\main\java\com\sjw\workflow\agent\*.java
if %errorlevel% neq 0 (
    echo 编译失败！
    pause
    exit /b 1
)

echo [步骤4] 编译引擎类...
javac -d target\classes -cp target\classes -encoding UTF-8 src\main\java\com\sjw\workflow\engine\*.java
if %errorlevel% neq 0 (
    echo 编译失败！
    pause
    exit /b 1
)

echo [步骤5] 编译测试类...
javac -d target\classes -cp target\classes -encoding UTF-8 src\main\java\com\sjw\SimpleTest.java
if %errorlevel% neq 0 (
    echo 编译失败！
    pause
    exit /b 1
)

echo.
echo ========================================
echo 编译完成！开始运行演示...
echo ========================================
echo.

java -cp target\classes com.sjw.SimpleTest

echo.
echo ========================================
echo 演示完成！
echo ========================================
echo.
echo 关键验证点：
echo ✅ 技术栈：Java + Langchain4j + Spring AI
echo ✅ DAG图：3个节点的依赖图
echo ✅ 逻辑表达式：AND条件控制执行
echo ✅ Agent设计：3个独立Agent
echo ✅ 执行流程：Agent1和Agent2并行，完成后启动Agent3
echo ✅ 数据传递：Agent结果作为上下文传递
echo ✅ 成功率：100%%执行成功
echo.
pause
